package com.kinancity.mail;
import java.io.IOException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.squareup.okhttp.OkHttpClient;
import com.squareup.okhttp.Request;
import com.squareup.okhttp.Response;
/**
* Class that will take care of following the activation link
*
* @author drallieiv
*
*/
public class LinkActivator {
private Logger logger = LoggerFactory.getLogger(getClass());
private static final String SUCCESS_MSG = "Thank you for signing up! Your account is now active.";
private static final String ALREADY_DONE_MSG = "Your account has already been activated.";
private static final String INVALID_TOKEN_MSG = "We cannot find an account matching the confirmation email.";
private OkHttpClient client;
public LinkActivator() {
client = new OkHttpClient();
}
/**
* Activate link
* @param link activation url
* @return true if activation successfull
*/
public boolean activateLink(String link) {
try {
Request request = new Request.Builder().url(link).build();
Response response = client.newCall(request).execute();
String strResponse = response.body().string();
if(strResponse.contains(SUCCESS_MSG)){
logger.info("Activation success");
return true;
}
if(strResponse.contains(ALREADY_DONE_MSG)){
logger.info("Activation already done");
return true;
}
if(strResponse.contains(INVALID_TOKEN_MSG)){
logger.error("Invalid Activation token");
return false;
}
logger.error("Unexpected Error");
return false;
} catch (IOException e) {
return false;
}
}
}